
#ifndef __DEF_H__
#define __DEF_H__

#include "EngineConfig.h"
#include <assert.h>


// 条件断言
#define Assert(condition) assert(condition)



// 单例辅助模板
template<typename T>
class Singleton_
{
private:
	Singleton_(){}

public:
	static T* getInstance()
	{
		static T obj;
		return &obj;
	}
};

// 访问单例
#define Inst(T) (Singleton_<T>::getInstance())

// 创建单例类
#define Single(T) private: friend Singleton_<T>; T(const T&); T& operator=(const T&); T()


#endif
